DigiOffice Gateway Web Services

<back to all web services

ProcessProjectRequestMessage

Requires Authentication
import java.math.*
import java.util.*
import net.servicestack.client.*


open class ProcessProjectRequestMessage
{
    var InstanceId:UUID? = null
    var ProjectRequest:ProjectRequestMessage? = null
}

open class ProjectRequestMessage
{
    var Header:Header? = null
    var ProjectReference:Reference? = null
    var IncludeHousingTypes:Boolean? = null
    var IncludeConstructionBlocks:Boolean? = null
    var IncludeConstructionNumbers:Boolean? = null
    var IncludeDocuments:Boolean? = null
    var IncludePurchaseContracts:Boolean? = null
}

open class Header
{
    var MessageID:String? = null
    var Timestamp:Date? = null
    var Sender:Party? = null
    var Recipient:Party? = null
    var RequestMessageID:Object? = null
}

open class Party
{
    var Title:String? = null
    var Code:String? = null
    var Version:String? = null
    var Environment:Environment? = null
}

open class Environment
{
    var Title:String? = null
    var Code:String? = null
}

open class Reference
{
    var GlobalID:String? = null
    var Title:String? = null
}

open class ProjectResponseMessage
{
    var Header:Header? = null
    var ProjectReference:Reference? = null
    var Project:Project? = null
    var HousingTypes:ArrayList<HousingType>? = null
    var ConstructionBlocks:ArrayList<ConstructionBlock>? = null
    var ConstructionNumbers:ArrayList<ConstructionNumber>? = null
    var Documents:ArrayList<Document>? = null
    var PurchaseContracts:ArrayList<PurchaseContract>? = null
}

open class Project
{
    var GlobalID:String? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
    var Code:String? = null
    var Name:String? = null
    var Description1:String? = null
    var Description2:String? = null
    var Address:Address? = null
    var MailingAddress:MailingAddress? = null
    var ProjectCategoryReference:Reference? = null
    var ProjectTypeReference:Reference? = null
    var ProjectStatusReference:Reference? = null
    var StartDate:Date? = null
    var EndDate:Date? = null
    var CompletionDate:Date? = null
    var Inactive:Boolean? = null
    var Website:String? = null
    var IsTemplateProject:Boolean? = null
    var CustomFields:ArrayList<CustomField>? = null
}

open class Address
{
    var AddressLine1:String? = null
    var AddressLine2:String? = null
    var HouseNumber:String? = null
    var HouseNumberSuffix:String? = null
    var PostalCode:String? = null
    var City:String? = null
    var Country:Reference? = null
}

open class MailingAddress
{
    var POBox:String? = null
    var PostalCode:String? = null
    var City:String? = null
    var Country:Reference? = null
}

open class CustomField
{
    var Name:String? = null
    var Value:String? = null
}

open class HousingType
{
    var GlobalID:String? = null
    var ProjectReference:Reference? = null
    var Code:String? = null
    var Description:String? = null
    var CustomFields:ArrayList<CustomField>? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
}

open class ConstructionBlock
{
    var GlobalID:String? = null
    var ProjectReference:Reference? = null
    var Code:String? = null
    var Description:String? = null
    var CustomFields:ArrayList<CustomField>? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
}

open class ConstructionNumber
{
    var GlobalID:String? = null
    var ProjectReference:Reference? = null
    var HousingTypeReference:Reference? = null
    var ConstructionBlockReference:Reference? = null
    var Code:String? = null
    var Description:String? = null
    var Address:Address? = null
    var RentalHouse:Boolean? = null
    var GuaranteeCertificateNumber:String? = null
    var Inactive:Boolean? = null
    var CustomFields:ArrayList<CustomField>? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
    var ViewingDate:Date? = null
    var ViewingDateSpecified:Boolean? = null
    var DeliveryDate:Date? = null
    var DeliveryDateSpecified:Boolean? = null
}

open class Document : ICustomProperties
{
    var ID:UUID? = null
    var RootDocumentID:UUID? = null
    var RegistrationprofileID:UUID? = null
    var Title:String? = null
    var FullTitle:String? = null
    var Number:String? = null
    var Version:String? = null
    var ExternalNumber:String? = null
    var ExternalVersion:String? = null
    var InternalNumber:String? = null
    var InternalInvoiceNumber:String? = null
    var PersonID:Int? = null
    var RelationID:Int? = null
    var RelationTitle:String? = null
    var ProjectID:Int? = null
    var ProjectTitle:String? = null
    var Extension:String? = null
    var Date:Date? = null
    var CommentsCount:Int? = null
    var HasComments:Boolean? = null
    var HasPreview:Boolean? = null
    var ExtraField:String? = null
    var IsFavorite:Boolean? = null
    var DocumentcategoryText:String? = null
    var FileSize:Long? = null
    var FileDate:Date? = null
    var Hash:String? = null
    var HashType:String? = null
    var FileUrl:String? = null
    var StandardDocumentUrl:String? = null
    var IsCorporateIdentity:Boolean? = null
    var UserTitle:String? = null
    var IsFrozen:Boolean? = null
    var InternalCompanyID:Int? = null
    var DirectUrl:String? = null
    var AllowDigitalSigningOnlyOnPrimaryVersions:Boolean? = null
    var IsPrimaryVersion:Boolean? = null
    var FileExtension:String? = null
    var CustomProperties:HashMap<String,Object> = HashMap<String,Object>()
}

open class PurchaseContract
{
    var GlobalID:String? = null
    var Code:String? = null
    var Description:String? = null
    var ProjectReference:Reference? = null
    var ProductCode:String? = null
    var Relation:Relation? = null
    var Inactive:Boolean? = null
    var CustomFields:ArrayList<CustomField>? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
}

open class Relation
{
    var GlobalID:String? = null
    var NameLine1:String? = null
    var NameLine2:String? = null
    var Address:Address? = null
    var MailingAddress:MailingAddress? = null
    var Telephone:String? = null
    var Mobile:String? = null
    var Email:String? = null
    var IBAN:String? = null
    var BankAccountNumber:String? = null
    var Website:String? = null
    var Inactive:Boolean? = null
    var CustomFields:ArrayList<CustomField>? = null
    var CreationDate:Date? = null
    var CreatedBy:String? = null
    var ModifiedDate:Date? = null
    var ModifiedBy:String? = null
}

Kotlin ProcessProjectRequestMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/ProcessProjectRequestMessage HTTP/1.1 
Host: kpm_digiofficeapigateway.tbi.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectRequest: 
	{
		Header: 
		{
			MessageID: String,
			Timestamp: 0001-01-01,
			Sender: 
			{
				Title: String,
				Code: String,
				Version: String,
				Environment: 
				{
					Title: String,
					Code: String
				}
			},
			Recipient: 
			{
				Title: String,
				Code: String,
				Version: String,
				Environment: 
				{
					Title: String,
					Code: String
				}
			},
			RequestMessageID: {}
		},
		ProjectReference: 
		{
			GlobalID: String,
			Title: String
		},
		IncludeHousingTypes: False,
		IncludeConstructionBlocks: False,
		IncludeConstructionNumbers: False,
		IncludeDocuments: False,
		IncludePurchaseContracts: False
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Header: 
	{
		MessageID: String,
		Timestamp: 0001-01-01,
		Sender: 
		{
			Title: String,
			Code: String,
			Version: String,
			Environment: 
			{
				Title: String,
				Code: String
			}
		},
		Recipient: 
		{
			Title: String,
			Code: String,
			Version: String,
			Environment: 
			{
				Title: String,
				Code: String
			}
		},
		RequestMessageID: {}
	},
	ProjectReference: 
	{
		GlobalID: String,
		Title: String
	},
	Project: 
	{
		GlobalID: String,
		CreationDate: 0001-01-01,
		CreatedBy: String,
		ModifiedDate: 0001-01-01,
		ModifiedBy: String,
		Code: String,
		Name: String,
		Description1: String,
		Description2: String,
		Address: 
		{
			AddressLine1: String,
			AddressLine2: String,
			HouseNumber: String,
			HouseNumberSuffix: String,
			PostalCode: String,
			City: String,
			Country: 
			{
				GlobalID: String,
				Title: String
			}
		},
		MailingAddress: 
		{
			POBox: String,
			PostalCode: String,
			City: String,
			Country: 
			{
				GlobalID: String,
				Title: String
			}
		},
		ProjectCategoryReference: 
		{
			GlobalID: String,
			Title: String
		},
		ProjectTypeReference: 
		{
			GlobalID: String,
			Title: String
		},
		ProjectStatusReference: 
		{
			GlobalID: String,
			Title: String
		},
		StartDate: 0001-01-01,
		EndDate: 0001-01-01,
		CompletionDate: 0001-01-01,
		Inactive: False,
		Website: String,
		IsTemplateProject: False,
		CustomFields: 
		[
			{
				Name: String,
				Value: String
			}
		]
	},
	HousingTypes: 
	[
		{
			GlobalID: String,
			ProjectReference: 
			{
				GlobalID: String,
				Title: String
			},
			Code: String,
			Description: String,
			CustomFields: 
			[
				{
					Name: String,
					Value: String
				}
			],
			CreationDate: 0001-01-01,
			CreatedBy: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String
		}
	],
	ConstructionBlocks: 
	[
		{
			GlobalID: String,
			ProjectReference: 
			{
				GlobalID: String,
				Title: String
			},
			Code: String,
			Description: String,
			CustomFields: 
			[
				{
					Name: String,
					Value: String
				}
			],
			CreationDate: 0001-01-01,
			CreatedBy: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String
		}
	],
	ConstructionNumbers: 
	[
		{
			GlobalID: String,
			ProjectReference: 
			{
				GlobalID: String,
				Title: String
			},
			HousingTypeReference: 
			{
				GlobalID: String,
				Title: String
			},
			ConstructionBlockReference: 
			{
				GlobalID: String,
				Title: String
			},
			Code: String,
			Description: String,
			Address: 
			{
				AddressLine1: String,
				AddressLine2: String,
				HouseNumber: String,
				HouseNumberSuffix: String,
				PostalCode: String,
				City: String,
				Country: 
				{
					GlobalID: String,
					Title: String
				}
			},
			RentalHouse: False,
			GuaranteeCertificateNumber: String,
			Inactive: False,
			CustomFields: 
			[
				{
					Name: String,
					Value: String
				}
			],
			CreationDate: 0001-01-01,
			CreatedBy: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String,
			ViewingDate: 0001-01-01,
			ViewingDateSpecified: False,
			DeliveryDate: 0001-01-01,
			DeliveryDateSpecified: False
		}
	],
	Documents: 
	[
		{
			GlobalID: String,
			RootDocumentID: String,
			Code: String,
			Subject: String,
			VersionNumber: String,
			NewestVersion: False,
			RelationReference: 
			{
				GlobalID: String,
				Title: String
			},
			DocumentTypeReference: 
			{
				GlobalID: String,
				Title: String
			},
			ProjectReference: 
			{
				GlobalID: String,
				Title: String
			},
			ConstructionBlockReference: 
			{
				GlobalID: String,
				Title: String
			},
			ConstructionNumberReference: 
			{
				GlobalID: String,
				Title: String
			},
			HousingTypeReference: 
			{
				GlobalID: String,
				Title: String
			},
			Floor: 0,
			FloorSpecified: False,
			DeletedDate: 0001-01-01,
			DeletedDateSpecified: False,
			File: 
			{
				Type: String,
				Name: String,
				Size: 0,
				Content: String,
				ModifiedDate: 0001-01-01
			},
			CustomFields: 
			[
				{
					Name: String,
					Value: String
				}
			],
			CreationDate: 0001-01-01,
			CreatedBy: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String
		}
	],
	PurchaseContracts: 
	[
		{
			GlobalID: String,
			Code: String,
			Description: String,
			ProjectReference: 
			{
				GlobalID: String,
				Title: String
			},
			ProductCode: String,
			Relation: 
			{
				GlobalID: String,
				NameLine1: String,
				NameLine2: String,
				Address: 
				{
					AddressLine1: String,
					AddressLine2: String,
					HouseNumber: String,
					HouseNumberSuffix: String,
					PostalCode: String,
					City: String,
					Country: 
					{
						GlobalID: String,
						Title: String
					}
				},
				MailingAddress: 
				{
					POBox: String,
					PostalCode: String,
					City: String,
					Country: 
					{
						GlobalID: String,
						Title: String
					}
				},
				Telephone: String,
				Mobile: String,
				Email: String,
				IBAN: String,
				BankAccountNumber: String,
				Website: String,
				Inactive: False,
				CustomFields: 
				[
					{
						Name: String,
						Value: String
					}
				],
				CreationDate: 0001-01-01,
				CreatedBy: String,
				ModifiedDate: 0001-01-01,
				ModifiedBy: String
			},
			Inactive: False,
			CustomFields: 
			[
				{
					Name: String,
					Value: String
				}
			],
			CreationDate: 0001-01-01,
			CreatedBy: String,
			ModifiedDate: 0001-01-01,
			ModifiedBy: String
		}
	]
}